package com.hthy.futures.utils;

 /**
   *
   * Author:  Mr.bingley
   * Version:
   * Date:  2017/5/8
   */

public class StrLenthUtil {
    public static boolean isLetter(char c) {
        int k = 0x80;
        return c / k == 0 ? true : false;
    }

    /**
     * 判断字符串是否为空
     * @param str
     * @return
     */
    public static boolean isNull(String str){
        if(str==null||str.trim().equals("")||str.trim().equalsIgnoreCase("null")){
            return true;
        }else{
            return false;
        }
    }


    /**
     * 获取字符串的长度，如果有中文，则每个中文字符计为3位  (这个是 uf-8 一个中文占三个字节，GBK 2个字节）
     * @param value 指定的字符串
     * @return 字符串的长度
     */
    public static int length(String value) {
        int valueLength = 0;
        String chinese = "[\u0391-\uFFE5]";
        /* 获取字段值的长度，如果含中文字符，则每个中文字符长度为2，否则为1 */
        for (int i = 0; i < value.length(); i++) {
            /* 获取一个字符 */
            String temp = value.substring(i, i + 1);
            /* 判断是否为中文字符 */
            if (temp.matches(chinese)) {
                /* 中文字符长度为2 */
                valueLength += 3;
            } else {
                /* 其他字符长度为1 */
                valueLength += 1;
            }
        }
        return valueLength;
    }

}
